package com.wicket.okrframework.integration.dto;

import com.wicket.okrframework.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc QueryRoleDetailRespDto
 * @使用场景
 */
@Data
public class QueryRoleDetailRespDto extends BaseDto implements Serializable {

  /**
   * 角色ID
   */
  @ApiModelProperty("角色ID")
  private String roleId;

  /**
   * 角色标识
   */
  @ApiModelProperty("角色标识")
  private String roleCode;

  /**
   * 角色名称
   */
  @ApiModelProperty("角色名称")
  private String roleName;

  /**
   * 角色介绍
   */
  @ApiModelProperty("角色介绍")
  private String roleRemark;

  /**
   * 角色图标
   */
  @ApiModelProperty("角色图标")
  private String roleLogo;

  /**
   * 角色类型 SYSTERM_ROLE:系统角色 BUSINESS_ROLE:业务角色
   */
  @ApiModelProperty("角色类型")
  private String roleType;

  /**
   * 是否身份角色 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否身份角色")
  private String isIdentity;

  /**
   * 是否手动创建 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否手动创建")
  private String automaticCreation;

  /**
   * 是否冻结 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否冻结")
  private String isFreeze;

  /**
   * 是否自动冻结 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否自动冻结")
  private String tempFreezeStatus;

  /**
   * 是否平台数据 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否平台数据")
  private String platformData;

  /**
   * 宿主类型ID
   */
  @ApiModelProperty("宿主类型ID")
  private String hostTypeId;

  /**
   * 宿主类型名称
   */
  @ApiModelProperty("宿主类型名称")
  private String hostTypeName;

  /**
   * 主体生命周期 CURRENTLY_VALID:当前有效 EDITING:正在编辑 ARCHIVING:历史存档
   */
  @ApiModelProperty("主体生命周期")
  private String subjectLifeCycle;

  /**
   * 是否存档 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否存档")
  private String isArchive;

  /**
   * 操作人就职记录ID
   */
  @ApiModelProperty("操作人就职记录ID")
  private String operationInductionId;

  /**
   * 操作时间
   */
  @ApiModelProperty("操作时间")
  private Date operateTime;

}
